﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TopVisionVideoStream.TopVisionCenter
{
    public class TVCenterResponse
    {
        public TVCenterResponse_Code code { get; set; }

        public string msg { get; set; }

        public TVCenterResponse_Data data { get; set; }

        #region user/login

        #endregion

        // user/login
        public bool success { get; set; }


        #region conferences/videos



        #endregion



        // Error

        /// <summary>
        /// 
        /// </summary>
        public long timestamp { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public TVCenterResponse_Status status { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string error { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string message { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string path { get; set; }


    }

    public class TVCenterResponse_Data
    {
        /// <summary>
        /// 分辨率限制
        /// </summary>
        public string resolution { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string remainderMinutes { get; set; }
        /// <summary>
        /// 企业ID 个人中心
        /// </summary>
        public int companyId { get; set; }
        /// <summary>
        /// zwan
        /// </summary>
        public string companyid { get; set; }
        /// <summary>
        /// 紫万号码
        /// </summary>
        public string zwNumber { get; set; }
        /// <summary>
        /// 紫万密码
        /// </summary>
        public string zwPassword { get; set; }

        /// <summary>
        /// 企业密码
        /// </summary>
        public string password { get; set; }


        #region 联系人

        /// <summary>
        /// 联系人
        /// </summary>
        public List<TVCenterResponse_User> users { get; set; }

        #endregion


        #region 会议

        /// <summary>
        /// 
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string number { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string recordurl { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string callflowid { get; set; }

        public TVCenterResponse_Confinfo conferencetype { get; set; }

        #endregion


        #region 视频/会议列表

        /// <summary>
        /// 
        /// </summary>
        public string result { get; set; }

        /// <summary>
        /// 视频列表
        /// </summary>
        public List<TVCenterResponse_Confinfo> confInfo { get; set; }

        /// <summary>
        /// 会议成员状态
        /// </summary>
        public List<TVCenterResponse_MemberInfo> memberinfo { get; set; }

        public int totalNum { get; set; }

        #endregion


        #region 管理

        /// <summary>
        /// 文件下载地址
        /// </summary>
        public string downloadurl { get; set; }

        public List<TVCenterResponse_Upload> upload { get; set; }

        #endregion


        #region doc预览

        public string fileName { get; set; }

        public string url { get; set; }

        #endregion


        #region 上传

        public string htmlUrl { get; set; }

        public string width { get; set; }

        public string height { get; set; }

        #endregion


        #region 检查版本

        /// <summary>
        /// 
        /// </summary>
        public int id { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string versionName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string versionCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string packageName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string content { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string platform { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string loadUrl { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int must { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int operaterId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string createdTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string updatedTime { get; set; }

        #endregion


        public override string ToString()
        {
            return string.Format("\r\n{0}\r\n{1}\r\n{2}\r\n{3}\r\n{4}", companyId, zwNumber, zwPassword, resolution, remainderMinutes);
        }

    }

    /// <summary>
    /// 联系人
    /// </summary>
    public class TVCenterResponse_User
    {
        /// <summary>
        /// 张三
        /// </summary>
        public string realName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string zwannumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int platform { get; set; }

        /// <summary>
        /// 在线状态
        /// </summary>
        public string status { get; set; }
    }

    /// <summary>
    /// 回看视频
    /// </summary>
    public class TVCenterResponse_Confinfo
    {
        /// <summary>
        /// 
        /// </summary>
        public string confid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string createtime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string starttime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string endtime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string number { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string confrecord { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string thumbnail { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string confrtmpurl { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string confhlsurl { get; set; }

        public string confsubject { get; set; }

        public string conftype { get; set; }

        public string realName { get; set; }

        public string id { get; set; }

        public string companyId { get; set; }
        public string confId { get; set; }
        public string screenMode { get; set; }
        public string conferenceType { get; set; }
        public string picNum { get; set; }
        public string updateTime { get; set; }


    }

    /// <summary>
    /// 查询会议成员状态
    /// </summary>
    public class TVCenterResponse_MemberInfo
    {
        /// <summary>
        /// 
        /// </summary>
        public string zwannumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string membertype { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string memberstatus { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string entertime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string exittime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string retrytimes { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string uplinkvoice { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string downlinkvoice { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string uplinkvideo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string downlinkvideo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string avgframerat { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string avgbitrate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string upresolution { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string downresolution { get; set; }
    }

    public class TVCenterResponse_Upload
    {
        public string url { get; set; }

        public string width { get; set; }

        public string height { get; set; }

        public string filename { get; set; }
    }


    public enum TVCenterResponse_Code
    {
        OK = 0,
        File_Size_Exceeding_Limit = 501,
        Failed = 600,
    }

    public enum TVCenterResponse_Status
    {
        Status404 = 404,
    }





    // 请求结果封装

    public class HttpAPIResponse
    {
        public bool success { get; set; }
        public string msg { get; set; }
        public HttpAPIResponse_Data data { get; set; }
    }

    public class HttpAPIResponse_Data
    {
        public List<ResponseMember_Data_Confinfo> confInfo { get; set; }

        public List<ResponseMember_Data_Users> users { get; set; }

        public int totalNum { get; set; }
    }

    public class ResponseMember_Data_Users
    {
        public string realName { get; set; }
        public string zwannumber { get; set; }
        public int platform { get; set; }
        public string status { get; set; }
    }

    public class ResponseMember_Data_Confinfo
    {
        public string confid { get; set; }
        public string confsubject { get; set; }
        public string createtime { get; set; }
        public string starttime { get; set; }
        public string endtime { get; set; }
        public string status { get; set; }
        public string number { get; set; }
        public string confrecord { get; set; }
        public string thumbnail { get; set; }
        public string confrtmpurl { get; set; }
        public string confhlsurl { get; set; }
        public string conftype { get; set; }
        public string realName { get; set; }
        public string failureNumber { get; set; }
        public ResponseMember_Data_Confinfo_failureFullInfo failureFullInfo { get; set; }

    }

    public class ResponseMember_Data_Confinfo_failureFullInfo
    {
        public string retCode { get; set; }
        public ResponseMember_Data_Confinfo_failureFullInfo_retMap retMap { get; set; }

    }

    public class ResponseMember_Data_Confinfo_failureFullInfo_retMap
    {
        public ResponseMember_Data_Confinfo_failureFullInfo_retMap_obj obj { get; set; }
    }

    public class ResponseMember_Data_Confinfo_failureFullInfo_retMap_obj
    {
        /// <summary>
        /// 
        /// </summary>
        public string accurTiming { get; set; }
        /// <summary>
        /// 质保检修
        /// </summary>
        public string accurTimingValue { get; set; }
        /// <summary>
        /// 司机室设备
        /// </summary>
        public string bomTree1 { get; set; }
        /// <summary>
        /// 司机台
        /// </summary>
        public string bomTree2 { get; set; }
        /// <summary>
        /// 蓄电池电压表VM
        /// </summary>
        public string bomTree3 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string bomTree4 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string bomTree5 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string carriageNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string driveMileage { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int failureNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string faultDescription { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string faultDetectionMethod { get; set; }
        /// <summary>
        /// 通电
        /// </summary>
        public string faultDetectionMethodValue { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string faultFoundDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string faultLevel { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string faultMode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string faultPropertyByServiceState { get; set; }
        /// <summary>
        /// 偶发故障
        /// </summary>
        public string faultPropertyByServiceStateValue { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string faultResult { get; set; }
        /// <summary>
        /// 清客
        /// </summary>
        public string faultResultValue { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string operatorFound { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string postStartPeople { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string preliminaryCauseAnalysis { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string preliminaryTreatmentMeasures { get; set; }
        /// <summary>
        /// 杭州地铁1号线_change2
        /// </summary>
        public string projectNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string serviceStationRequiresClosingTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string vehicleNumber { get; set; }
    }

}
